package com.easy.project.service.common;

import com.baomidou.mybatisplus.extension.service.IService;
import com.easy.project.domain.dto.common.SysFileDTO;
import com.easy.project.domain.po.system.SysFilePO;
import com.easy.project.domain.vo.common.SysFileVO;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 * 公用文件 服务类
 * </p>
 *
 * @author wxz
 * @since 2023-11-09
 */
public interface ISysFileService extends IService<SysFilePO> {

    /**
     * 策略获取文件的类型
     * @return
     */
    String getType();

    /**
     * 上传文件
     * @param file
     */
    SysFileVO upload(MultipartFile file);

    /**
     * 获取外联的url集合
     * @param sysFileDTO
     * @return
     */
    List<SysFileVO> getUrlList(SysFileDTO sysFileDTO);

    /**
     * 下载文件
     * @param fileKey
     * @param response
     */
    void download(String fileKey, HttpServletResponse response);
}
